<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
    <title>Introdu&ccedil;&atilde;o - Zend Framework Manual</title>

    <link href="../css/shCore.css" rel="stylesheet" type="text/css" />
    <link href="../css/shThemeDefault.css" rel="stylesheet" type="text/css" />
    <link href="../css/styles.css" media="all" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>Zend Framework</h1>
<h2>Programmer's Reference Guide</h2>
<ul>
    <li><a href="../en/zend.config.introduction.html">Inglês (English)</a></li>
    <li><a href="../pt-br/zend.config.introduction.html">Português Brasileiro (Brazilian Portuguese)</a></li>
</ul>
<table width="100%">
    <tr valign="top">
        <td width="85%">
            <table width="100%">
                <tr>
                    <td width="25%" style="text-align: left;">
                    <a href="zend.config.html">Zend_Config</a>
                    </td>

                    <td width="50%" style="text-align: center;">
                        <div class="up"><span class="up"><a href="zend.config.html">Zend_Config</a></span><br />
                        <span class="home"><a href="manual.html">Guia de Refer&ecirc;ncia do Programador</a></span></div>
                    </td>

                    <td width="25%" style="text-align: right;">
                        <div class="next" style="text-align: right; float: right;"><a href="zend.config.theory_of_operation.html">Teoria de Opera&ccedil;&atilde;o</a></div>
                    </td>
                </tr>
            </table>
<hr />
<div id="zend.config.introduction" class="section"><div class="info"><h1 class="title">Introdução</h1></div>
    

    <p class="para">
        <span class="classname">Zend_Config</span> é projetado para simplificar o acesso e a utilização
        dos dados de configuração dentro das aplicações. Ele fornece uma propriedade do objeto
        aninhado baseado na interface de usuário para acessar dados de configuração no código do
        aplicativo. Os dados de configuração podem vir de uma variedade de meios de suporte para
        armazenamento de dados hierárquico. Atualmente <span class="classname">Zend_Config</span> fornece
        adaptadores para dados de configuração que são armazenados em arquivos de texto com
        <a href="zend.config.adapters.ini.html" class="link"><span class="classname">Zend_Config_Ini</span></a> e
        <a href="zend.config.adapters.xml.html" class="link"><span class="classname">Zend_Config_Xml</span></a>.
    </p>

    <div class="example" id="zend.config.introduction.example.using"><div class="info"><p><b>Example #1 Usando o Zend_Config</b></p></div>
        

        <div class="example-contents"><p>
            Normalmente, espera-se que os usuários usem uma das classes adaptadoras como <a href="zend.config.adapters.ini.html" class="link"><span class="classname">Zend_Config_Ini</span></a> ou
            <a href="zend.config.adapters.xml.html" class="link"><span class="classname">Zend_Config_Xml</span></a>,
            mas se os dados de configuração estão disponíveis em uma matriz <acronym class="acronym">PHP</acronym>,
            pode-se simplesmente passar os dados para o construtor
            <span class="classname">Zend_Config</span> a fim de utilizar uma simples interface
            orientada a objetos:
        </p></div>

        <pre class="programlisting brush: php">
// Dada uma matriz de dados de configuração
$configArray = array(
    &#039;webhost&#039;  =&gt; &#039;www.example.com&#039;,
    &#039;database&#039; =&gt; array(
        &#039;adapter&#039; =&gt; &#039;pdo_mysql&#039;,
        &#039;params&#039;  =&gt; array(
            &#039;host&#039;     =&gt; &#039;db.example.com&#039;,
            &#039;username&#039; =&gt; &#039;dbuser&#039;,
            &#039;password&#039; =&gt; &#039;secret&#039;,
            &#039;dbname&#039;   =&gt; &#039;mydatabase&#039;
        )
    )
);

// Create the object-oriented wrapper upon the configuration data
$config = new Zend_Config($configArray);

// Imprimir um dado de configuração (resulta em &#039;www.example.com&#039;)
echo $config-&gt;webhost;

// Utiliza os dados de configuração para se conectar ao banco de dados
$db = Zend_Db::factory($config-&gt;database-&gt;adapter,
                       $config-&gt;database-&gt;params-&gt;toArray());

// Uso alternativo: simplesmente passar o objeto Zend_Config.
// A fábrica do Zend_Db sabe como interpretá-lo.
$db = Zend_Db::factory($config-&gt;database);
</pre>

    </div>

    <p class="para">
        Como ilustrado no exemplo acima, <span class="classname">Zend_Config</span> fornece a sintaxe da
        propriedade do objeto aninhado para acessar os dados de configuração passados para o
        construtor.
    </p>

    <p class="para">
        Junto com o acesso orientado a objeto aos valores dos dados,
        <span class="classname">Zend_Config</span> também tem o  <span class="methodname">get()</span>, que
        retornará o valor padrão fornecido se o elemento do dado não existir. Por exemplo:
    </p>

    <pre class="programlisting brush: php">
$host = $config-&gt;database-&gt;get(&#039;host&#039;, &#039;localhost&#039;);
</pre>


    <div class="example" id="zend.config.introduction.example.file.php"><div class="info"><p><b>Example #2 Usando o Zend_Config com um Arquivo de Configuração em PHP</b></p></div>
        

        <div class="example-contents"><p>
            Muitas vezes é desejável utilizar um arquivo de configuração puramente em
            <acronym class="acronym">PHP</acronym>. O código a seguir ilustra como isto pode ser
            realizado facilmente:
        </p></div>

        <pre class="programlisting brush: php">
// config.php
return array(
    &#039;webhost&#039;  =&gt; &#039;www.example.com&#039;,
    &#039;database&#039; =&gt; array(
        &#039;adapter&#039; =&gt; &#039;pdo_mysql&#039;,
        &#039;params&#039;  =&gt; array(
            &#039;host&#039;     =&gt; &#039;db.example.com&#039;,
            &#039;username&#039; =&gt; &#039;dbuser&#039;,
            &#039;password&#039; =&gt; &#039;secret&#039;,
            &#039;dbname&#039;   =&gt; &#039;mydatabase&#039;
        )
    )
);
</pre>


        <pre class="programlisting brush: php">
// Consumo de configuração
$config = new Zend_Config(require &#039;config.php&#039;);

// Imprimir um dado de configuração (resulta em &#039;www.example.com&#039;)
echo $config-&gt;webhost;
</pre>

    </div>
</div>
        <hr />

            <table width="100%">
                <tr>
                    <td width="25%" style="text-align: left;">
                    <a href="zend.config.html">Zend_Config</a>
                    </td>

                    <td width="50%" style="text-align: center;">
                        <div class="up"><span class="up"><a href="zend.config.html">Zend_Config</a></span><br />
                        <span class="home"><a href="manual.html">Guia de Refer&ecirc;ncia do Programador</a></span></div>
                    </td>

                    <td width="25%" style="text-align: right;">
                        <div class="next" style="text-align: right; float: right;"><a href="zend.config.theory_of_operation.html">Teoria de Opera&ccedil;&atilde;o</a></div>
                    </td>
                </tr>
            </table>
</td>
        <td style="font-size: smaller;" width="15%"> <style type="text/css">
#leftbar {
	float: left;
	width: 186px;
	padding: 5px;
	font-size: smaller;
}
ul.toc {
	margin: 0px 5px 5px 5px;
	padding: 0px;
}
ul.toc li {
	font-size: 85%;
	margin: 1px 0 1px 1px;
	padding: 1px 0 1px 11px;
	list-style-type: none;
	background-repeat: no-repeat;
	background-position: center left;
}
ul.toc li.header {
	font-size: 115%;
	padding: 5px 0px 5px 11px;
	border-bottom: 1px solid #cccccc;
	margin-bottom: 5px;
}
ul.toc li.active {
	font-weight: bold;
}
ul.toc li a {
	text-decoration: none;
}
ul.toc li a:hover {
	text-decoration: underline;
}
</style>
 <ul class="toc">
  <li class="header home"><a href="manual.html">Guia de Refer&ecirc;ncia do Programador</a></li>
  <li class="header up"><a href="manual.html">Guia de Refer&ecirc;ncia do Programador</a></li>
  <li class="header up"><a href="reference.html">Refer&ecirc;ncia do Zend Framework</a></li>
  <li class="header up"><a href="zend.config.html">Zend_Config</a></li>
  <li class="active"><a href="zend.config.introduction.html">Introdu&ccedil;&atilde;o</a></li>
  <li><a href="zend.config.theory_of_operation.html">Teoria de Opera&ccedil;&atilde;o</a></li>
  <li><a href="zend.config.adapters.ini.html">Zend_Config_Ini</a></li>
  <li><a href="zend.config.adapters.json.html">Zend_Config_Json</a></li>
  <li><a href="zend.config.adapters.xml.html">Zend_Config_Xml</a></li>
  <li><a href="zend.config.adapters.yaml.html">Zend_Config_Yaml</a></li>
 </ul>
 </td>
    </tr>
</table>

<script type="text/javascript" src="../js/shCore.js"></script>
<script type="text/javascript" src="../js/shAutoloader.js"></script>
<script type="text/javascript" src="../js/main.js"></script>

</body>
</html>